package com.lzh.service;

import com.lzh.bean.Customer;

public class CustomerList {
	
	private Customer[] customers;//用来保存客户对象的数组
	private int total = 0;//记录已保存客户对象的数量
	
	/**
	 * 用来初始化customer数组的构造器
	 * @param totalCustomer： 指定数组的长度
	 */
	public CustomerList(int totalCustomer) {
		customers = new Customer[totalCustomer];
	}
	/**
	 * 
	 * @param customer 将指定的客户添加到数组中
	 * @return true :添加昵称公共 false :添加失败
	 * @author liuzhihao
	 * @date 2021年1月21日下午4:01:43
	 */
	public boolean addCustomer(Customer customer) {
		if(total >= customers.length) {
			return false;
		}
//		customers[total] = customer;
//		total++;
		customers[total++] = customer;
		return true;
	}
	/**
	 * 
	 * @param index 修改指定索引位置的客户信息
	 * @param cust
	 * @return
	 * @author liuzhihao
	 * @date 2021年1月21日下午4:07:20
	 */
	public boolean replaceCustomer(int index,Customer cust) {
		
		if(index < 0 || index >= total){
			return false;
		}
		customers[index] = cust;
		return true;
	}
	/**
	 * 
	 * @param index 删除指定索引位置上的客户
	 * @return
	 * @author liuzhihao
	 * @date 2021年1月21日下午4:16:04
	 */
	public boolean deleteCustomer(int index) {
		
		if(index < 0 || index >=total ) {
			return false;
		}
		for(int i = index; i < total - 1;i++) {
			customers[i] = customers[i++];
		}
		//最后有数据的元素需要置空
//		customers[total - 1] = null;
//		total--;
		customers[--total] = null;
		return true;
	}
	/**
	 * 获取所有客户信息的
	 * @return
	 * @author liuzhihao
	 * @date 2021年1月21日下午4:22:17
	 */
	public Customer[] getAllCustomer() {
		
		Customer[] custs = new Customer[total];
		for(int i=0;i< total ; i++) {
			custs[i] = customers[i];
		}
		return custs;
		
	}
	/**
	 * 获取指定索引位置上的客户
	 * @param index
	 * @return
	 * @author liuzhihao
	 * @date 2021年1月21日下午4:26:11
	 */
	public Customer getCustomer(int index) {
		if(index <0 || index>= total) {
			return null;
		}
		return customers[index];
	}
	/**
	 * 获取存储客户的数量
	 * @return
	 * @author liuzhihao
	 * @date 2021年1月21日下午4:27:23
	 */
	public int getTotal() {
		return total;
	}
	
}
